//package com.cebbank.sz.cebinterhp.utils;
//
//import org.apache.axis.client.Call;
//import org.apache.axis.client.Service;
//
//import javax.xml.namespace.QName;
//
///**
// * @author:wujian
// * Desc:webService Axis方式请求Wsdl
// * Date：2020-01-07
// */
//public class WebServiceUtils {
//
//    private static final String SLASH = "/";
//
//    public static String callWebServiceSendXml(String endpoint, String nameSpace,
//                                        String method, String paramName, String xmlParam) throws Exception {
//        Service service = new Service();
//        Call call = (Call) service.createCall();
//        call.setTargetEndpointAddress(endpoint);
//        call.setOperationName(new QName(nameSpace, method));
//        //接口的参数
//        call.addParameter(new QName(nameSpace, paramName), org.apache.axis.encoding.XMLType.XSD_DATE,
//                javax.xml.rpc.ParameterMode.IN);
//
//        call.setUseSOAPAction(true);
//        call.setSOAPActionURI(urlConnect(nameSpace, method));
//
//        //设置返回类型
//        call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
//
//         //设置和医院请求超时时间
//
//        call.setTimeout(20000);
//
//        return (String)call.invoke(new Object[]{xmlParam});
//    }
//
//    public static String callWebServiceSendParams(String endpoint, String nameSpace,
//                                           String method, String[] paramNames, Object[] params) throws Exception {
//        Service service = new Service();
//        Call call = (Call) service.createCall();
//        call.setTargetEndpointAddress(endpoint);
//        call.setOperationName(new QName(nameSpace, method));
//        //接口的参数
//
//        for (int i = 0; i < paramNames.length; i++) {
//            if(null==params[i]){
//                call.addParameter(new QName(nameSpace, paramNames[i]), org.apache.axis.encoding.XMLType.XSD_DATE,
//                        javax.xml.rpc.ParameterMode.IN);
//                continue;
//            }
//            if("string".equalsIgnoreCase(params[i].getClass().getSimpleName())){
//                call.addParameter(new QName(nameSpace, paramNames[i]), org.apache.axis.encoding.XMLType.XSD_DATE,
//                        javax.xml.rpc.ParameterMode.IN);
//            }else if("integer".equalsIgnoreCase(params[i].getClass().getSimpleName())){
//                call.addParameter(new QName(nameSpace, paramNames[i]), org.apache.axis.encoding.XMLType.XSD_INT,
//                        javax.xml.rpc.ParameterMode.IN);
//            }else{
//                call.addParameter(new QName(nameSpace, paramNames[i]), org.apache.axis.encoding.XMLType.XSD_DATE,
//                        javax.xml.rpc.ParameterMode.IN);
//            }
//        }
//
//        call.setUseSOAPAction(true);
//        call.setSOAPActionURI(urlConnect(nameSpace, method));
//
//        //设置返回类型
//        call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
//        //设置和医院请求超时时间
//        call.setTimeout(20000);
//        return (String)call.invoke(params);
//    }
//
//    /**
//     * 拼接URL两段
//     * @param url
//     * @param part
//     * @return
//     */
//    private static String urlConnect(String url, String part) {
//        if (url.endsWith(SLASH) && !part.startsWith(SLASH)) {
//            return url + part;
//        }
//        if (!url.endsWith(SLASH) && part.startsWith(SLASH)) {
//            return url + part;
//        }
//        if (url.endsWith(SLASH) && part.startsWith(SLASH)) {
//            return url + part.substring(1);
//        }
//        return url + SLASH + part;
//    }
//
//}
